The World Wide Web is the Internet's multimedia information retrieval system. In the Web environment, client machines communicate with Web servers using the Hypertext Transfer Protocol (HTTP). The web servers provide users with access to files such as text, graphics, images, sound, video, etc., using a standard page description language known as Hypertext Markup Language (HTML). HTML provides basic document formatting and allows the developer to specify connections known as hyperlinks to other servers and files. In the Internet paradigm, a network path to a server is identified by a Uniform Resource Locator (URL) having a special syntax for defining a network connection. So called web browsers, for example, Netscape Navigator (Netscape Navigator is a registered trademark of Netscape Communications Corporation) or Microsoft Internet Explorer (Internet Explorer is a trademark of Microsoft Corporation), which are applications running on a client machine, enable users to access information by specification of a link via the URL and to navigate between different HTML pages.
FIG. 1 shows an example of a typical web browser graphical user interface (“GUI”) display on a browser computer. On a portion (100) of a user's computer display, a web browser (110), in this example Netscape Navigator, runs in its own window. In FIG. 1, the web browser displays the top-level or home page of a web site, the web site address being indicated by the URL http://www.corp.com in the location bar (140). This web page, “index.htm”, is configured to split the GUI display into three frames, whereby each frame is associated with a separate URL and each frame displays a separate document. Frames are a feature in HTML, allowing the display to be split into rectangular areas. The upper frame (120) is used to display a general banner, the left frame (130) is used to display a list of hyperlinks from the top-level web page (or navigation bar), and the right bottom frame (150) displays the contents of the currently selected web page. The top of the web browser display includes a row of control icons, including a “back” button (160) and a “forward” button (170). Additionally, a domain history button (180) provides a drop down history list of the URLs of web sites most recently visited via the browser application.
When the user of the web browser selects a link, the client machine issues a request to a naming service to map a hostname (in the URL) to a particular network IP (Internet Protocol) address at which the server machine is located. The naming service returns an IP address that can respond to the request. Using the IP address, the web browser establishes a connection to a server machine. If the server machine is available, it returns a web page. To facilitate further navigation within the site, a web page typically includes one or more hypertext references (“HREF”) known as “anchors” or “links”.
In FIG. 2, a typical tree-like hierarchical organisation of links within a web site is shown, where a given link (200) typically points to other Web resources (210, 215), and those resources may point to further resources (220, 222, 224, 226, 228). Thus, a given top-level link often has an associated set of lower level links, which may point to still more resources located across many different servers in the network. Navigation through multiple levels of links is often very difficult. The goal of many users of the Internet is to “drill down” to a given piece of information that represents some desired content. Because HTML pages are often statically coded, however, a user often has little choice but to load successive web pages in search of a given web of interest. This approach is time consuming, and it often results in the user either terminating the navigation of a particular web site or simply not finding the relevant content. Additionally, when traversing these multiple levels of links, the user often loses track of the sequence of links used to arrive at a particular web page of interest. Thus, the user could have difficulty in returning to a particular web page after further web pages have been subsequently browsed.
A bookmark facility is one way of addressing this problem by providing a mechanism to store and recall specific user-selected web pages of interest. This simplifies the user's future access to these book-marked web pages. Each bookmark comprises the title of a single web page and the URL used to access the web page. Additionally, bookmarks often comprise the date on which the web page was last visited and the date on which the web page was book-marked, along with additional information.
One example of the process of bookmarking a web page will now be described, with reference to FIG. 3. The browser (110) of FIG. 1, further comprises a button (300), which allows a user to initiate the bookmarking process. Once a user has clicked on the button (300) a menu (305) is displayed, the menu comprising functions such as “Add Bookmark” and also, a list of items that represent the current bookmarks (e.g. “test.com”). In this example, when a user adds a web page (with an associated URL http://www.corp.com) as a bookmark by clicking on the “Add Bookmark” function, an item (310) appears at the bottom of the list. The user can re-visit the “corp.com” web page in the future by clicking on the item (310) in the menu (305). Therefore, the item (310) serves as a pointer to the web page. Another method of bookmarking is initiated by clicking on the right mouse button in the right bottom frame (150) in FIG. 1. This operation brings up a menu comprising functions such as “Add Bookmark”, whereby clicking on the “Add bookmark” function adds a web page to the list.
Whilst the bookmark function gives the user certain limited flexibility in revisiting web pages, one problem with current bookmark technology is that navigating to a bookmarked page requires at least two operations: one operation to activate the browser's bookmarking function (e.g. menu (305)) and another operation to select the web page required from the list of bookmarked web pages (e.g. via an item (310)). Typically, the two operations can be combined into a single operation by selecting the bookmark button (300) (one operation) and then holding the left mouse button down whilst dragging it over the menu (305). However, this single operation may be time consuming especially if the web page that has been bookmarked is present as an item in a sub-list of the main bookmark list and therefore further delay is incurred while the browser brings up the sub-list.
Another problem arises when a web page supports frames. In FIG. 3, a first URL is associated with the entire collection of frames (315) (the frame set)—in this example, URL http://www.corp.com; a second URL is associated with the upper frame (320); a third URL is associated with the left frame (325) and a fourth URL is associated with the right bottom frame (330). Existing browser implementations can preserve individual web pages with bookmarks, but the method for doing so permits only a single page reference for each bookmark.
Therefore, when a web page is bookmarked from a view that utilizes frames, that view is lost when a user re-visits that web page. Additionally, if a frame comprises any references to other frames, these references will be invalid and if a frame provides navigational information and buttons etc., then these functions will be lost when the bookmarked web page is re-displayed.
As an example, if a user “drills down” to a web page that was then bookmarked utilizing the browser function as described above, the first URL (referencing the top level web page of the web site i.e. the home page) is stored. Therefore, when a user tries to re-visit that particular web page, the web browser re-loads the home page instead. Alternatively, if the web page was bookmarked by utilizing the right mouse button, the fourth URL is stored and any information in the surrounding frames (i.e. the frame set, upper frame or left frame) is lost. Therefore, this can result in significant loss of contextual information, content and any frame structure intended by information suppliers.
Therefore there is a need for an improved method of bookmarking whereby the number of operations required in order to retrieve a bookmarked page is reduced and also, the frame structure of web pages is preserved.